Hệ thống xếp lịch học tín chỉ cho sinh viên CNTT trên PHP & MySQL
111.112 lượt xem;
- personal_time_table_view.php
- project /
1 <?php
2 // This script and data application were generated by AppGini 5.72
3 // Download AppGini for free from https://bigprof.com/appgini/download/
4
5 $currDir=dirname(__FILE__);
6 include("$currDir/defaultLang.php");
7 include("$currDir/language.php");
8 include("$currDir/lib.php");
9 @include("$currDir/hooks/personal_time_table.php");
10 include("$currDir/personal_time_table_dml.php");
11
12 // mm: can the current member access this page?
13 $perm=getTablePermissions('personal_time_table');
14 if(!$perm[0]){
15 echo error_message($Translation['tableAccessDenied'], false);
16 echo '<script>setTimeout("window.location=\'index.php?signOut=1\'", 2000);</script>';
17 exit;
18 }
19
20 $x = new DataList;
21 $x->TableName = "personal_time_table";
22
23 // Fields that can be displayed in the table view
24 $x->QueryFieldsTV = array(
25 "`personal_time_table`.`id`" => "id",
26 "`personal_time_table`.`day`" => "day",
27 "TIME_FORMAT(`personal_time_table`.`time_start`, '%r')" => "time_start",
28 "TIME_FORMAT(`personal_time_table`.`time_end`, '%r')" => "time_end",
29 "`personal_time_table`.`activity`" => "activity"
30 );
31 // mapping incoming sort by requests to actual query fields
32 $x->SortFields = array(
33 1 => '`personal_time_table`.`id`',
34 2 => 2,
35 3 => '`personal_time_table`.`time_start`',
36 4 => '`personal_time_table`.`time_end`',
37 5 => 5
38 );
39
40 // Fields that can be displayed in the csv file
41 $x->QueryFieldsCSV = array(
42 "`personal_time_table`.`id`" => "id",
43 "`personal_time_table`.`day`" => "day",
44 "TIME_FORMAT(`personal_time_table`.`time_start`, '%r')" => "time_start",
45 "TIME_FORMAT(`personal_time_table`.`time_end`, '%r')" => "time_end",
46 "`personal_time_table`.`activity`" => "activity"
47 );
48 // Fields that can be filtered
49 $x->QueryFieldsFilters = array(
50 "`personal_time_table`.`id`" => "ID",
51 "`personal_time_table`.`day`" => "Day",
52 "`personal_time_table`.`time_start`" => "Time Start",
53 "`personal_time_table`.`time_end`" => "Time End",
54 "`personal_time_table`.`activity`" => "Activity"
55 );
56
57 // Fields that can be quick searched
58 $x->QueryFieldsQS = array(
59 "`personal_time_table`.`id`" => "id",
60 "`personal_time_table`.`day`" => "day",
61 "TIME_FORMAT(`personal_time_table`.`time_start`, '%r')" => "time_start",
62 "TIME_FORMAT(`personal_time_table`.`time_end`, '%r')" => "time_end",
63 "`personal_time_table`.`activity`" => "activity"
64 );
65
66 // Lookup fields that can be used as filterers
67 $x->filterers = array();
68
69 $x->QueryFrom = "`personal_time_table` ";
70 $x->QueryWhere = '';
71 $x->QueryOrder = '';
72
73 $x->AllowSelection = 1;
74 $x->HideTableView = ($perm[2]==0 ? 1 : 0);
75 $x->AllowDelete = $perm[4];
76 $x->AllowMassDelete = true;
77 $x->AllowInsert = $perm[1];
78 $x->AllowUpdate = $perm[3];
79 $x->SeparateDV = 1;
80 $x->AllowDeleteOfParents = 0;
81 $x->AllowFilters = 1;
82 $x->AllowSavingFilters = 0;
83 $x->AllowSorting = 1;
84 $x->AllowNavigation = 1;
85 $x->AllowPrinting = 1;
86 $x->AllowCSV = 1;
87 $x->RecordsPerPage = 100;
88 $x->QuickSearch = 1;
89 $x->QuickSearchText = $Translation["quick search"];
90 $x->ScriptFileName = "personal_time_table_view.php";
91 $x->RedirectAfterInsert = "personal_time_table_view.php?SelectedID=#ID#";
92 $x->TableTitle = "Lịch cá nhân";
93 $x->TableIcon = "resources/table_icons/clock_.png";
94 $x->PrimaryKey = "`personal_time_table`.`id`";
95
96 $x->ColWidth = array( 150, 150, 150, 150);
97 $x->ColCaption = array("Ngày", "Thời gian bắt đầu", "Kết thúc", "Hoạt động");
98 $x->ColFieldName = array('day', 'time_start', 'time_end', 'activity');
99 $x->ColNumber = array(2, 3, 4, 5);
100
101 // template paths below are based on the app main directory
102 $x->Template = 'templates/personal_time_table_templateTV.html';
103 $x->SelectedTemplate = 'templates/personal_time_table_templateTVS.html';
104 $x->TemplateDV = 'templates/personal_time_table_templateDV.html';
105 $x->TemplateDVP = 'templates/personal_time_table_templateDVP.html';
106
107 $x->ShowTableHeader = 1;
108 $x->TVClasses = "";
109 $x->DVClasses = "";
110 $x->HighlightColor = '#FFF0C2';
111
112 // mm: build the query based on current member's permissions
113 $DisplayRecords = $_REQUEST['DisplayRecords'];
114 if(!in_array($DisplayRecords, array('user', 'group'))){ $DisplayRecords = 'all'; }
115 if($perm[2]==1 || ($perm[2]>1 && $DisplayRecords=='user' && !$_REQUEST['NoFilter_x'])){ // view owner only
116 $x->QueryFrom.=', membership_userrecords';
117 $x->QueryWhere="where `personal_time_table`.`id`=membership_userrecords.pkValue and membership_userrecords.tableName='personal_time_table' and lcase(membership_userrecords.memberID)='".getLoggedMemberID()."'";
118 }elseif($perm[2]==2 || ($perm[2]>2 && $DisplayRecords=='group' && !$_REQUEST['NoFilter_x'])){ // view group only
119 $x->QueryFrom.=', membership_userrecords';
120 $x->QueryWhere="where `personal_time_table`.`id`=membership_userrecords.pkValue and membership_userrecords.tableName='personal_time_table' and membership_userrecords.groupID='".getLoggedGroupID()."'";
121 }elseif($perm[2]==3){ // view all
122 // no further action
123 }elseif($perm[2]==0){ // view none
124 $x->QueryFields = array("Not enough permissions" => "NEP");
125 $x->QueryFrom = '`personal_time_table`';
126 $x->QueryWhere = '';
127 $x->DefaultSortField = '';
128 }
129 // hook: personal_time_table_init
130 $render=TRUE;
131 if(function_exists('personal_time_table_init')){
132 $args=array();
133 $render=personal_time_table_init($x, getMemberInfo(), $args);
134 }
135
136 if($render) $x->Render();
137
138 // hook: personal_time_table_header
139 $headerCode='';
140 if(function_exists('personal_time_table_header')){
141 $args=array();
142 $headerCode=personal_time_table_header($x->ContentType, getMemberInfo(), $args);
143 }
144 if(!$headerCode){
145 include_once("$currDir/header.php");
146 }else{
147 ob_start(); include_once("$currDir/header.php"); $dHeader=ob_get_contents(); ob_end_clean();
148 echo str_replace('<%%HEADER%%>', $dHeader, $headerCode);
149 }
150
151 echo $x->HTML;
152 // hook: personal_time_table_footer
153 $footerCode='';
154 if(function_exists('personal_time_table_footer')){
155 $args=array();
156 $footerCode=personal_time_table_footer($x->ContentType, getMemberInfo(), $args);
157 }
158 if(!$footerCode){
159 include_once("$currDir/footer.php");
160 }else{
161 ob_start(); include_once("$currDir/footer.php"); $dFooter=ob_get_contents(); ob_end_clean();
162 echo str_replace('<%%FOOTER%%>', $dFooter, $footerCode);
163 }
164 ?>
2 // This script and data application were generated by AppGini 5.72
3 // Download AppGini for free from https://bigprof.com/appgini/download/
4
5 $currDir=dirname(__FILE__);
6 include("$currDir/defaultLang.php");
7 include("$currDir/language.php");
8 include("$currDir/lib.php");
9 @include("$currDir/hooks/personal_time_table.php");
10 include("$currDir/personal_time_table_dml.php");
11
12 // mm: can the current member access this page?
13 $perm=getTablePermissions('personal_time_table');
14 if(!$perm[0]){
15 echo error_message($Translation['tableAccessDenied'], false);
16 echo '<script>setTimeout("window.location=\'index.php?signOut=1\'", 2000);</script>';
17 exit;
18 }
19
20 $x = new DataList;
21 $x->TableName = "personal_time_table";
22
23 // Fields that can be displayed in the table view
24 $x->QueryFieldsTV = array(
25 "`personal_time_table`.`id`" => "id",
26 "`personal_time_table`.`day`" => "day",
27 "TIME_FORMAT(`personal_time_table`.`time_start`, '%r')" => "time_start",
28 "TIME_FORMAT(`personal_time_table`.`time_end`, '%r')" => "time_end",
29 "`personal_time_table`.`activity`" => "activity"
30 );
31 // mapping incoming sort by requests to actual query fields
32 $x->SortFields = array(
33 1 => '`personal_time_table`.`id`',
34 2 => 2,
35 3 => '`personal_time_table`.`time_start`',
36 4 => '`personal_time_table`.`time_end`',
37 5 => 5
38 );
39
40 // Fields that can be displayed in the csv file
41 $x->QueryFieldsCSV = array(
42 "`personal_time_table`.`id`" => "id",
43 "`personal_time_table`.`day`" => "day",
44 "TIME_FORMAT(`personal_time_table`.`time_start`, '%r')" => "time_start",
45 "TIME_FORMAT(`personal_time_table`.`time_end`, '%r')" => "time_end",
46 "`personal_time_table`.`activity`" => "activity"
47 );
48 // Fields that can be filtered
49 $x->QueryFieldsFilters = array(
50 "`personal_time_table`.`id`" => "ID",
51 "`personal_time_table`.`day`" => "Day",
52 "`personal_time_table`.`time_start`" => "Time Start",
53 "`personal_time_table`.`time_end`" => "Time End",
54 "`personal_time_table`.`activity`" => "Activity"
55 );
56
57 // Fields that can be quick searched
58 $x->QueryFieldsQS = array(
59 "`personal_time_table`.`id`" => "id",
60 "`personal_time_table`.`day`" => "day",
61 "TIME_FORMAT(`personal_time_table`.`time_start`, '%r')" => "time_start",
62 "TIME_FORMAT(`personal_time_table`.`time_end`, '%r')" => "time_end",
63 "`personal_time_table`.`activity`" => "activity"
64 );
65
66 // Lookup fields that can be used as filterers
67 $x->filterers = array();
68
69 $x->QueryFrom = "`personal_time_table` ";
70 $x->QueryWhere = '';
71 $x->QueryOrder = '';
72
73 $x->AllowSelection = 1;
74 $x->HideTableView = ($perm[2]==0 ? 1 : 0);
75 $x->AllowDelete = $perm[4];
76 $x->AllowMassDelete = true;
77 $x->AllowInsert = $perm[1];
78 $x->AllowUpdate = $perm[3];
79 $x->SeparateDV = 1;
80 $x->AllowDeleteOfParents = 0;
81 $x->AllowFilters = 1;
82 $x->AllowSavingFilters = 0;
83 $x->AllowSorting = 1;
84 $x->AllowNavigation = 1;
85 $x->AllowPrinting = 1;
86 $x->AllowCSV = 1;
87 $x->RecordsPerPage = 100;
88 $x->QuickSearch = 1;
89 $x->QuickSearchText = $Translation["quick search"];
90 $x->ScriptFileName = "personal_time_table_view.php";
91 $x->RedirectAfterInsert = "personal_time_table_view.php?SelectedID=#ID#";
92 $x->TableTitle = "Lịch cá nhân";
93 $x->TableIcon = "resources/table_icons/clock_.png";
94 $x->PrimaryKey = "`personal_time_table`.`id`";
95
96 $x->ColWidth = array( 150, 150, 150, 150);
97 $x->ColCaption = array("Ngày", "Thời gian bắt đầu", "Kết thúc", "Hoạt động");
98 $x->ColFieldName = array('day', 'time_start', 'time_end', 'activity');
99 $x->ColNumber = array(2, 3, 4, 5);
100
101 // template paths below are based on the app main directory
102 $x->Template = 'templates/personal_time_table_templateTV.html';
103 $x->SelectedTemplate = 'templates/personal_time_table_templateTVS.html';
104 $x->TemplateDV = 'templates/personal_time_table_templateDV.html';
105 $x->TemplateDVP = 'templates/personal_time_table_templateDVP.html';
106
107 $x->ShowTableHeader = 1;
108 $x->TVClasses = "";
109 $x->DVClasses = "";
110 $x->HighlightColor = '#FFF0C2';
111
112 // mm: build the query based on current member's permissions
113 $DisplayRecords = $_REQUEST['DisplayRecords'];
114 if(!in_array($DisplayRecords, array('user', 'group'))){ $DisplayRecords = 'all'; }
115 if($perm[2]==1 || ($perm[2]>1 && $DisplayRecords=='user' && !$_REQUEST['NoFilter_x'])){ // view owner only
116 $x->QueryFrom.=', membership_userrecords';
117 $x->QueryWhere="where `personal_time_table`.`id`=membership_userrecords.pkValue and membership_userrecords.tableName='personal_time_table' and lcase(membership_userrecords.memberID)='".getLoggedMemberID()."'";
118 }elseif($perm[2]==2 || ($perm[2]>2 && $DisplayRecords=='group' && !$_REQUEST['NoFilter_x'])){ // view group only
119 $x->QueryFrom.=', membership_userrecords';
120 $x->QueryWhere="where `personal_time_table`.`id`=membership_userrecords.pkValue and membership_userrecords.tableName='personal_time_table' and membership_userrecords.groupID='".getLoggedGroupID()."'";
121 }elseif($perm[2]==3){ // view all
122 // no further action
123 }elseif($perm[2]==0){ // view none
124 $x->QueryFields = array("Not enough permissions" => "NEP");
125 $x->QueryFrom = '`personal_time_table`';
126 $x->QueryWhere = '';
127 $x->DefaultSortField = '';
128 }
129 // hook: personal_time_table_init
130 $render=TRUE;
131 if(function_exists('personal_time_table_init')){
132 $args=array();
133 $render=personal_time_table_init($x, getMemberInfo(), $args);
134 }
135
136 if($render) $x->Render();
137
138 // hook: personal_time_table_header
139 $headerCode='';
140 if(function_exists('personal_time_table_header')){
141 $args=array();
142 $headerCode=personal_time_table_header($x->ContentType, getMemberInfo(), $args);
143 }
144 if(!$headerCode){
145 include_once("$currDir/header.php");
146 }else{
147 ob_start(); include_once("$currDir/header.php"); $dHeader=ob_get_contents(); ob_end_clean();
148 echo str_replace('<%%HEADER%%>', $dHeader, $headerCode);
149 }
150
151 echo $x->HTML;
152 // hook: personal_time_table_footer
153 $footerCode='';
154 if(function_exists('personal_time_table_footer')){
155 $args=array();
156 $footerCode=personal_time_table_footer($x->ContentType, getMemberInfo(), $args);
157 }
158 if(!$footerCode){
159 include_once("$currDir/footer.php");
160 }else{
161 ob_start(); include_once("$currDir/footer.php"); $dFooter=ob_get_contents(); ob_end_clean();
162 echo str_replace('<%%FOOTER%%>', $dFooter, $footerCode);
163 }
164 ?>